package com.pan.alg.niuke.tree;

/**
 * 描述
 * 给定一个二叉树根节点，请你判断这棵树是不是二叉搜索树。
 *
 * 二叉搜索树满足每个节点的左子树上的所有节点均小于当前节点且右子树上的所有节点均大于当前节点。
 */
public class TreeIsValidBST {

    private int pre = Integer.MIN_VALUE;
    public boolean isValidBST (TreeNode root) {
        // write code here
        if(root==null){
            return true;
        }
        boolean left = isValidBST(root.left);
        if(!left){
            return false;
        }
        if(root.val<pre){
            return false;
        }
        pre = root.val;
        boolean right = isValidBST(root.right);

        return right;
    }

}
